<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content=
    "application/xhtml+xml; charset=iso-8859-1" />
    <title>
      Subversion-1.13.0
    </title>
    <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
    <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
    "text/css" media="print" />
  </head>
  <body class="blfs" id="blfs-2020-04-02">
    <div class="navheader">
      <h4>
        Beyond Linux<sup>�</sup> From Scratch <span class="phrase">(System
        V</span> Edition) - Version 2020-04-02
      </h4>
      <h3>
        Chapter&nbsp;13.&nbsp;Programming
      </h3>
      <ul>
        <li class="prev">
          <a accesskey="p" href="slang.html" title="slang-2.3.2">Prev</a>
          <p>
            slang-2.3.2
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="svnserver.html" title=
          "Running a Subversion Server">Next</a>
          <p>
            Running a Subversion Server
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="prog.html" title=
          "Chapter&nbsp;13.&nbsp;Programming">Up</a>
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title=
          "Beyond Linux� From Scratch     (System V Edition) - Version 2020-04-02">
          Home</a>
        </li>
      </ul>
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <h1 class="sect1">
        <a id="subversion" name="subversion"></a>Subversion-1.13.0
      </h1>
      <div class="package" lang="en" xml:lang="en">
        <h2 class="sect2">
          Introduction to Subversion
        </h2>
        <p>
          <span class="application">Subversion</span> is a version control
          system that is designed to be a compelling replacement for
          <span class="application">CVS</span> in the open source community.
          It extends and enhances <span class="application">CVS</span>'
          feature set, while maintaining a similar interface for those
          already familiar with <span class="application">CVS</span>. These
          instructions install the client and server software used to
          manipulate a <span class="application">Subversion</span>
          repository. Creation of a repository is covered at <a class="xref"
          href="svnserver.html" title="Running a Subversion Server">Running a
          Subversion Server</a>.
        </p>
        <p>
          This package is known to build and work properly using an LFS-9.1
          platform.
        </p>
        <h3>
          Package Information
        </h3>
        <div class="itemizedlist">
          <ul class="compact">
            <li class="listitem">
              <p>
                Download (HTTP): <a class="ulink" href=
                "https://archive.apache.org/dist/subversion/subversion-1.13.0.tar.bz2">
                https://archive.apache.org/dist/subversion/subversion-1.13.0.tar.bz2</a>
              </p>
            </li>
            <li class="listitem">
              <p>
                Download MD5 sum: 3004b4dae18bf45a0b6ea4ef8820064d
              </p>
            </li>
            <li class="listitem">
              <p>
                Download size: 8.1 MB
              </p>
            </li>
            <li class="listitem">
              <p>
                Estimated disk space required: 176 MB (add 93 MB for
                bindings, 26 MB for docs, 1.1 GB for tests)
              </p>
            </li>
            <li class="listitem">
              <p>
                Estimated build time: 0.5 SBU (Using parallelism=4; add 1.4
                SBU for bindings, 29 SBU for tests)
              </p>
            </li>
          </ul>
        </div>
        <h3>
          Subversion Dependencies
        </h3>
        <h4>
          Required
        </h4>
        <p class="required">
          <a class="xref" href="apr-util.html" title=
          "Apr-Util-1.6.1">Apr-Util-1.6.1</a> and <a class="xref" href=
          "../server/sqlite.html" title="SQLite-3.31.1">SQLite-3.31.1</a>
        </p>
        <h4>
          Recommended
        </h4>
        <p class="recommended">
          <a class="xref" href="../basicnet/serf.html" title=
          "Serf-1.3.9">Serf-1.3.9</a> (for handling http:// and https://
          URLs)
        </p>
        <h4>
          Optional
        </h4>
        <p class="optional">
          <a class="xref" href="../server/apache.html" title=
          "Apache-2.4.43">Apache-2.4.43</a>, <a class="xref" href=
          "../postlfs/cyrus-sasl.html" title="Cyrus SASL-2.1.27">Cyrus
          SASL-2.1.27</a>, <a class="xref" href="dbus.html" title=
          "dbus-1.12.16">dbus-1.12.16</a>, <a class="xref" href=
          "../gnome/gnome-keyring.html" title=
          "gnome-keyring-3.36.0">gnome-keyring-3.36.0</a>, <a class="xref"
          href="../gnome/libsecret.html" title=
          "libsecret-0.20.2">libsecret-0.20.2</a>, <a class="xref" href=
          "python2.html" title="Python-2.7.17">Python-2.7.17</a> (with sqlite
          support for the tests), <a class="xref" href="ruby.html" title=
          "Ruby-2.7.1">Ruby-2.7.1</a>, <a class="xref" href="swig.html"
          title="SWIG-4.0.1">SWIG-4.0.1</a> (for building Perl, Python and
          Ruby bindings), <a class="ulink" href=
          "https://github.com/lz4/lz4/releases">LZ4</a>, and <a class="ulink"
          href="http://git.netsurf-browser.org/libutf8proc.git/">UTF8proc</a>
        </p>
        <h4>
          Optional (for the Java Bindings)
        </h4>
        <p class="optional">
          One of <a class="xref" href="openjdk.html" title=
          "OpenJDK-12.0.2">OpenJDK-12.0.2</a>, <a class="ulink" href=
          "http://www.inet.no/dante/">Dante</a> or <a class="ulink" href=
          "http://jikes.sourceforge.net/">Jikes</a>, and <a class="ulink"
          href="https://junit.org/junit4/">JUnit 4</a> (to test the Java
          bindings). Note that JUnit is included with <a class="xref" href=
          "apache-ant.html" title="apache-ant-1.10.7">apache-ant-1.10.7</a>.
        </p>
        <p class="usernotes">
          User Notes: <a class="ulink" href=
          "http://wiki.linuxfromscratch.org/blfs/wiki/subversion">http://wiki.linuxfromscratch.org/blfs/wiki/subversion</a>
        </p>
      </div>
      <div class="installation" lang="en" xml:lang="en">
        <h2 class="sect2">
          Installation of Subversion
        </h2>
        <p>
          Install <span class="application">Subversion</span> by running the
          following commands:
        </p>
        <pre class="userinput">
<kbd class="command">./configure --prefix=/usr             \
            --disable-static          \
            --with-apache-libexecdir  \
            --with-lz4=internal       \
            --with-utf8proc=internal &amp;&amp;
make</kbd>
</pre>
        <p>
          If you have <a class="xref" href="doxygen.html" title=
          "Doxygen-1.8.17">Doxygen-1.8.17</a> installed and you wish to build
          the API documentation, issue:
        </p>
        <pre class="userinput">
<kbd class="command">doxygen doc/doxygen.conf</kbd>
</pre>
        <p>
          If you passed the <code class="option">--enable-javahl</code>
          parameter to <span class=
          "command"><strong>configure</strong></span> and wish to build the
          Java bindings, issue the following command:
        </p>
        <pre class="screen">
<span class="command"><strong>make javahl</strong></span>
</pre>
        <p>
          If you want to compile <span class="application">Perl</span>,
          <span class="application">Python2</span>, or <span class=
          "application">Ruby</span> bindings, issue any of the following
          command:
        </p>
        <pre class="screen">
<span class="command"><strong>make swig-pl</strong></span> # for <span class=
"application">Perl</span>
<span class="command"><strong>make swig-py \
     swig_pydir=/usr/lib/python2.7/site-packages/libsvn \
     swig_pydir_extra=/usr/lib/python2.7/site-packages/svn</strong></span> # for <span class="application">Python</span>
<span class="command"><strong>make swig-rb</strong></span> # for <span class=
"application">Ruby</span>
</pre>
        <p>
          To test the results, issue: <span class="command"><strong>make
          check</strong></span>. The upgrade_tests.py test is known to fail.
        </p>
        <p>
          To test the results of the Java bindings build, issue <span class=
          "command"><strong>make check-javahl</strong></span>. The
          <span class="application">JUnit</span> testing framework must be
          installed, and the location of the JUnit jar has to be specified by
          passing the <code class="option">--with-junit=&lt;path to junit
          jar&gt;</code> parameter to <span class=
          "command"><strong>configure</strong></span>. Note that <span class=
          "application">JUnit</span> is included in <a class="xref" href=
          "apache-ant.html" title="apache-ant-1.10.7">apache-ant-1.10.7</a>,
          and can be accessed by passing <code class=
          "option">--with-junit=/opt/ant/lib/junit-4.12.jar</code> to
          <span class="command"><strong>configure</strong></span>.
        </p>
        <p>
          To test the results of any of the <span class=
          "application">SWIG</span> bindings, you can use any of the
          following commands: <span class="command"><strong>make
          check-swig-pl</strong></span>, <span class="command"><strong>make
          check-swig-py</strong></span>, or <span class=
          "command"><strong>make check-swig-rb</strong></span>.
        </p>
        <p>
          Now, as the <code class="systemitem">root</code> user:
        </p>
        <pre class="root">
<kbd class="command">make install &amp;&amp;

install -v -m755 -d /usr/share/doc/subversion-1.13.0 &amp;&amp;
cp      -v -R doc/* /usr/share/doc/subversion-1.13.0</kbd>
</pre>
        <p>
          If you built the Java bindings, issue the following command as the
          <code class="systemitem">root</code> user to install them:
        </p>
        <pre class="screen">
<span class="command"><strong>make install-javahl</strong></span>
</pre>
        <p>
          If you built the <span class="application">Perl</span>,
          <span class="application">Python2</span>, or <span class=
          "application">Ruby</span> bindings, issue any of the following
          commands as the <code class="systemitem">root</code> user to
          install them:
        </p>
        <pre class="screen">
<span class="command"><strong>make install-swig-pl</strong></span>
<span class="command"><strong>make install-swig-py \
      swig_pydir=/usr/lib/python2.7/site-packages/libsvn \
      swig_pydir_extra=/usr/lib/python2.7/site-packages/svn</strong></span>
<span class="command"><strong>make install-swig-rb</strong></span>
</pre>
      </div>
      <div class="commands" lang="en" xml:lang="en">
        <h2 class="sect2">
          Command Explanations
        </h2>
        <p>
          <em class="parameter"><code>--disable-static</code></em>: This
          switch prevents installation of static versions of the libraries.
        </p>
        <p>
          <em class="parameter"><code>--with-apache-libexecdir</code></em>:
          If <a class="xref" href="../server/apache.html" title=
          "Apache-2.4.43">Apache-2.4.43</a> is installed, the shared
          <span class="application">Apache</span> modules are built. This
          switch allows to have those modules installed to <span class=
          "application">Apache</span>'s configured module dir instead of
          <code class="filename">/usr/libexec</code>. It has no effect if
          <span class="application">Apache</span> is not installed.
        </p>
        <p>
          <em class="parameter"><code>--with-lz4=internal,
          --with-utf8proc=internal</code></em>: Remove them if you have
          installed the optional dependencies.
        </p>
        <p>
          <code class="option">--enable-javahl</code>: enables compilation of
          Java high level bindings. Running <span class=
          "command"><strong>make javahl</strong></span> is necessary to do
          the compilation.
        </p>
        <p>
          <code class="option">--with-junit=&lt;location of the junit jar
          file&gt;</code>: gives the location of the junit jar, otherwise the
          javahl tests cannot be run.
        </p>
        <p>
          <code class="option">--disable-gmock</code>: Do not use the
          Googlemock testing framework.
        </p>
      </div>
      <div class="configuration" lang="en" xml:lang="en">
        <h2 class="sect2">
          Configuring Subversion
        </h2>
        <div class="sect3" lang="en" xml:lang="en">
          <h3 class="sect3">
            <a id="subversion-config" name="subversion-config"></a>
          </h3>
          <h4 class="title">
            <a id="subversion-config" name="subversion-config"></a>Config
            Files
          </h4>
          <p>
            <code class="filename">~/.subversion/config</code> and
            <code class="filename">/etc/subversion/config</code>
          </p>
        </div>
        <div class="sect3" lang="en" xml:lang="en">
          <h3 class="sect3"></h3>
          <h4 class="title">
            <a id="idm140006443677232" name=
            "idm140006443677232"></a>Configuration Information
          </h4>
          <p>
            <code class="filename">/etc/subversion/config</code> is the
            <span class="application">Subversion</span> system-wide
            configuration file. This file is used to specify defaults for
            different <span class="command"><strong>svn</strong></span>
            commands.
          </p>
          <p>
            <code class="filename">~/.subversion/config</code> is the user's
            personal configuration file. It is used to override the
            system-wide defaults set in <code class=
            "filename">/etc/subversion/config</code>.
          </p>
        </div>
      </div>
      <div class="content" lang="en" xml:lang="en">
        <h2 class="sect2">
          Contents
        </h2>
        <div class="segmentedlist">
          <div class="seglistitem">
            <div class="seg">
              <strong class="segtitle">Installed Programs:</strong>
              <span class="segbody">svn, svnadmin, svnbench, svndumpfilter,
              svnfsfs, svnlook, svnmucc, svnrdump, svnserve, svnsync, and
              svnversion</span>
            </div>
            <div class="seg">
              <strong class="segtitle">Installed Libraries:</strong>
              <span class="segbody">libsvn_*-1.so and optionally, a Java
              library, the mod_dav_svn.so and and mod_authz_svn.so
              <span class="application">Apache HTTP</span> DSO modules and
              various <span class="application">Perl</span>, <span class=
              "application">Python</span> and <span class=
              "application">Ruby</span> modules.</span>
            </div>
            <div class="seg">
              <strong class="segtitle">Installed Directories:</strong>
              <span class="segbody">/usr/include/subversion-1,
              /usr/lib/perl5/site_perl/&lt;5.x.y&gt;/&lt;arch-linux&gt;/{,auto/}SVN,
              /usr/lib/python2.7/site-packages/{libsvn,svn},
              /usr/lib/ruby/site_ruby/&lt;x.y.z&gt;/{,&lt;arch-linux&gt;-linux/}svn,
              /usr/lib/svn-javahl, and
              /usr/share/doc/subversion-1.13.0</span>
            </div>
          </div>
        </div>
        <div class="variablelist">
          <h3>
            Short Descriptions
          </h3>
          <table border="0" class="variablelist">
            <colgroup>
              <col align="left" valign="top" />
              <col />
            </colgroup>
            <tbody>
              <tr>
                <td>
                  <p>
                    <a id="svn" name="svn"></a><span class=
                    "term"><span class="command"><strong>svn</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a command-line client program used to access
                    <span class="application">Subversion</span> repositories.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="svnadmin" name="svnadmin"></a><span class=
                    "term"><span class=
                    "command"><strong>svnadmin</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a tool for creating, tweaking or repairing a
                    <span class="application">Subversion</span> repository.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="svnbench" name="svnbench"></a><span class=
                    "term"><span class=
                    "command"><strong>svnbench</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a benchmarking tool.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="svndumpfilter" name=
                    "svndumpfilter"></a><span class="term"><span class=
                    "command"><strong>svndumpfilter</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a program for filtering <span class=
                    "application">Subversion</span> repository dumpfile
                    format streams.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="svnfsfs" name="svnfsfs"></a><span class=
                    "term"><span class=
                    "command"><strong>svnfsfs</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is the FSFS (FileSystem atop of the FileSystem -
                    <span class="application">Subversion</span> filesystem
                    implementation) repository manipulation tool.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="svnlook" name="svnlook"></a><span class=
                    "term"><span class=
                    "command"><strong>svnlook</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a tool for inspecting a <span class=
                    "application">Subversion</span> repository.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="svnmucc" name="svnmucc"></a><span class=
                    "term"><span class=
                    "command"><strong>svnmucc</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a Multiple URL Command Client for <span class=
                    "application">Subversion</span>.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="svnrdump" name="svnrdump"></a><span class=
                    "term"><span class=
                    "command"><strong>svnrdump</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a tool for dumping or loading a remote <span class=
                    "application">Subversion</span> repository.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="svnserve" name="svnserve"></a><span class=
                    "term"><span class=
                    "command"><strong>svnserve</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a custom standalone server program, able to run as a
                    daemon process or invoked by SSH.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="svnsync" name="svnsync"></a><span class=
                    "term"><span class=
                    "command"><strong>svnsync</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a <span class="application">Subversion</span>
                    repository synchronisation tool.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="svnversion" name="svnversion"></a><span class=
                    "term"><span class=
                    "command"><strong>svnversion</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is used to report the version number and state of a
                    working <span class="application">Subversion</span>
                    repository copy.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="libsvn_star-1" name=
                    "libsvn_star-1"></a><span class="term"><code class=
                    "filename">libsvn_*-1.so</code></span>
                  </p>
                </td>
                <td>
                  <p>
                    are the support libraries used by the <span class=
                    "application">Subversion</span> programs.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="mod_authz_svn" name=
                    "mod_authz_svn"></a><span class="term"><code class=
                    "filename">mod_authz_svn.so</code></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a plug-in module for the <span class=
                    "application">Apache</span> HTTP server, used to
                    authenticate users to a <span class=
                    "application">Subversion</span> repository over the
                    Internet or an intranet.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="mod_dav_svn" name="mod_dav_svn"></a><span class=
                    "term"><code class=
                    "filename">mod_dav_svn.so</code></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a plug-in module for the <span class=
                    "application">Apache</span> HTTP server, used to make a
                    <span class="application">Subversion</span> repository
                    available to others over the Internet or an intranet.
                  </p>
                </td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
      <p class="updated">
        Last updated on 2020-02-15 10:54:30 -0600
      </p>
    </div>
    <div class="navfooter">
      <ul>
        <li class="prev">
          <a accesskey="p" href="slang.html" title="slang-2.3.2">Prev</a>
          <p>
            slang-2.3.2
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="svnserver.html" title=
          "Running a Subversion Server">Next</a>
          <p>
            Running a Subversion Server
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="prog.html" title=
          "Chapter&nbsp;13.&nbsp;Programming">Up</a>
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title=
          "Beyond Linux� From Scratch     (System V Edition) - Version 2020-04-02">
          Home</a>
        </li>
      </ul>
    </div>
  </body>
</html>
